<?php
include_once('inc/functions.inc.php');
if(!isEmpty(getParam('operation'))){
    
    switch(getParam('operation')){
        case 's':
            save($db);
            break;
            die();
      case 'gc':
            getCicloActivo($db);
            break;
    }
}

function save($db){

    $anio = getParam("frmConfig_anio");
    $mes = getParam("mes");
    $fecha_inicio = "";
    $fecha_fin = "";
    $descripcion = "";
    $strQuery = "";
    $empresa = getParam("empresa");
    
    $strQuery = "SELECT * 
                 FROM   cllg_contab_ciclo 
                 WHERE  MONTH(fecha_inicio) = '{$mes}' 
                 AND    MONTH(fecha_fin) = '{$mes}' 
                 AND    YEAR(fecha_inicio) = '{$anio}' 
                 AND    YEAR(fecha_fin) = '{$anio}'
                 AND    total_activo > 0 
                 AND    total_pasivo > 0
                 AND    fk_empresa = '{$empresa}'";
    $qTMP = $db->query($strQuery);
    $intCicloCerrado = $db->num_rows;
    $db->free_result($qTMP);
    
    if( $intCicloCerrado == 0 ) {
        
        $strQuery ="SELECT  * 
                    FROM    cllg_contab_ciclo 
                    WHERE   MONTH(fecha_inicio) = '{$mes}' 
                    AND     MONTH(fecha_fin) = '{$mes}' 
                    AND     YEAR(fecha_inicio) = '{$anio}' 
                    AND     YEAR(fecha_fin) = '{$anio}'
                    AND     fk_empresa = '{$empresa}'";
        $qTMP = $db->query($strQuery);
        $intNumRows = $db->num_rows;
        //drawDebug($intNumRows);
        $db->free_result($qTMP);
        if( $intNumRows > 0 ) {
            //Pongo todos los ciclos inactivos
            $strWhere = " fk_empresa = '{$empresa}' ";
            $db->query_update('cllg_contab_ciclo', array( 'activo'=>sqlValue("0",'text') ), $strWhere);
            
            //Pongo activo el seleccionado
            $strWhere = "       MONTH(fecha_inicio) = '{$mes}' 
                        AND     MONTH(fecha_fin) = '{$mes}' 
                        AND     YEAR(fecha_inicio) = '{$anio}' 
                        AND     YEAR(fecha_fin) = '{$anio}'
                        AND     fk_empresa = '{$empresa}'";
            $db->query_update('cllg_contab_ciclo', array( 'activo'=>sqlValue("1",'text') ), $strWhere);
            
            $mes = $mes+1;
            $strWhere = "       MONTH(fecha_inicio) = '{$mes}' 
                        AND     MONTH(fecha_fin) = '{$mes}' 
                        AND     YEAR(fecha_inicio) = '{$anio}' 
                        AND     YEAR(fecha_fin) = '{$anio}'
                        AND     fk_empresa = '{$empresa}'";
            $db->query_update('cllg_contab_ciclo', array( 'activo'=>sqlValue("1",'text') ), $strWhere);        
        }
        else {
            
            //Pongo todos los ciclos inactivos
            $strWhere = " fk_empresa = '{$empresa}' ";
            $db->query_update('cllg_contab_ciclo', array( 'activo'=>sqlValue("0",'text') ), $strWhere);
                    
            $fecha_inicio = $anio."-".$mes."-01";
            $fecha_fin = ultimoDiaMes( $mes, $anio );
            //Pongo activo el seleccionado 
            $strQuery = "INSERT INTO cllg_contab_ciclo (codigo, descripcion, fecha_inicio, fecha_fin, activo, fk_empresa) 
                                                VALUES (NULL, '{$descripcion}', '{$fecha_inicio}', '{$fecha_fin}', '1', '{$empresa}')";
            $db->query($strQuery);
            
            //Nuevo
            $mes = $mes+1; 
            $fecha_inicio = $anio."-".$mes."-01";
            $fecha_fin = ultimoDiaMes( $mes, $anio );
            //Pongo activo el seleccionado 
            $strQuery = "INSERT INTO cllg_contab_ciclo (codigo, descripcion, fecha_inicio, fecha_fin, activo, fk_empresa) 
                                                VALUES (NULL, '{$descripcion}', '{$fecha_inicio}', '{$fecha_fin}', '1', '{$empresa}')";
            $db->query($strQuery);
            //Nuevo
            
        }
        $arrMeses = array("1"=>"Enero", "2"=>"Febrero", "3"=>"Marzo", "4"=>"Abril", "5"=>"Mayo", "6"=>"Junio", "7"=>"Julio", "8"=>"Agosto", "9"=>"Septiembre", "10"=>"Octubre", "11"=>"Noviembre", "12"=>"Diciembre" );
        ?>
        <div class="ui-widget" style="border: 0px solid white; width: 440px; height: auto; vertical-align: bottom;" align="center">
            <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                <p><span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                Configurado.</p>
            </div>
        </div>
        <br>
        <?php
    }
    else {
        ?>
        <div class="ui-widget" style="border: 0px solid white; width: 900px; height: auto; vertical-align: bottom;" align="center">
            <div class="ui-state-error ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 450px;"> 
                <p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: 0.3em;"></span>
                Año y mes ya cerrado.</p>
           </div>
        </div>
        <br>
        <?php
   }

}

function getCicloActivo($db) {
    $empresa = getParam("empresa");
    
    $strQuery = "SELECT codigo, MONTH(fecha_inicio) AS mes, YEAR(fecha_inicio) AS anio 
                 FROM   cllg_contab_ciclo 
                 WHERE  activo = '1' AND fk_empresa = '{$empresa}'";
    $qTMP = $db->query($strQuery);
    $rTMP = $db->fetch_array($qTMP);
    $db->free_result($qTMP);
    
    
    if( is_array($rTMP) ) {
    $arrMeses = array("1"=>"Enero", "2"=>"Febrero", "3"=>"Marzo", "4"=>"Abril", "5"=>"Mayo", "6"=>"Junio", "7"=>"Julio", "8"=>"Agosto", "9"=>"Septiembre", "10"=>"Octubre", "11"=>"Noviembre", "12"=>"Diciembre" );
    ?>
    <div class="ui-widget" style="border: 0px solid white; width: 440px; height: auto; vertical-align: bottom;" align="center">
        <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
            <p><span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
            Año configurado: <?php print $rTMP["anio"]; ?><br>
            Mes configurado: <?php print $arrMeses[$rTMP["mes"]]; ?></p>
        </div>
    </div>
    <br>
    <?php
    }
    else {
        ?>
        <div class="ui-widget" style="border: 0px solid white; width: 440px; height: auto; vertical-align: bottom;" align="center">
            <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                <p><span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                Año configurado: Ninguno<br>
                Mes configurado: Ninguno</p>
            </div>
        </div>
        <br>
        <?php        
    }
    
}

function ultimoDiaMes($mes,$anio) {
    $fecha = "";
    for ($dia=28;$dia<=31;$dia++) {
        if(checkdate($mes,$dia,$anio)) 
            $fecha="$anio-$mes-$dia";
    }
    return $fecha;

}
?>